<!-------- @HEADER
 !
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 !  Zoltan Toolkit for Load-balancing, Partitioning, Ordering and Coloring
 !                  Copyright 2012 Sandia Corporation
 !
 ! Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
 ! the U.S. Government retains certain rights in this software.
 !
 ! Redistribution and use in source and binary forms, with or without
 ! modification, are permitted provided that the following conditions are
 ! met:
 !
 ! 1. Redistributions of source code must retain the above copyright
 ! notice, this list of conditions and the following disclaimer.
 !
 ! 2. Redistributions in binary form must reproduce the above copyright
 ! notice, this list of conditions and the following disclaimer in the
 ! documentation and/or other materials provided with the distribution.
 !
 ! 3. Neither the name of the Corporation nor the names of the
 ! contributors may be used to endorse or promote products derived from
 ! this software without specific prior written permission.
 !
 ! THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
 ! EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 ! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 ! PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
 ! CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 ! EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 ! PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 ! PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 ! LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 ! NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 ! SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 !
 ! Questions? Contact Karen Devine	kddevin@sandia.gov
 !                    Erik Boman	egboman@sandia.gov
 !
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !
 ! @HEADER
-------> 
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
  <meta http-equiv="Content-Type"
 content="text/html; charset=iso-8859-1">
  <meta name="GENERATOR"
 content="Mozilla/4.76 [en] (X11; U; Linux 2.4.2-2smp i686) [Netscape]">
  <meta name="sandia.approval_type" content="formal">
  <meta name="sandia.approved" content="SAND2007-4748W">
  <meta name="author" content="Zoltan PI">

  <title>Zoltan User's Guide: Algorithms</title>
</head>
<body bgcolor="#ffffff">
<div align="right"><b><i><a href="ug.html">Zoltan User's Guide</a>&nbsp;
|&nbsp; <a href="ug_alg.html">Next</a>&nbsp; |&nbsp; <a
 href="ug_query_mig.html">Previous</a></i></b></div>
<!---------------------------------------------------------------------------->
<h2>Zoltan Parameters and Output Levels</h2>
The behavior of Zoltan is controlled by several <a
 href="#General_Parameters">parameters
</a>and
<a href="#Debug%20Levels%20in%20Zoltan">debugging-output
levels</a>. These parameters can be set by calls to <b><a
 href="ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>.
Reasonable <a href="#Default_Parameter_Values">default values</a> for
all
parameters are specified by Zoltan. Many of the parameters are specific
to individual algorithms, and are listed in the descriptions of those
algorithms.&nbsp;
However, the parameters below have meaning across the entire library.
<h3><a name="General_Parameters"></a>
<hr><b>General Parameters</b></h3>
The following parameters apply to the entire Zoltan library. While
reasonable
<a href="#Default_Parameter_Values">default
values</a> for all parameters are specified by Zoltan, applications can
change these values through calls to <b><a
 href="ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>.
<br>
&nbsp;
<table nosave="" width="100%">
  <tbody>
    <tr valign="top">
      <td valign="top"><b>Parameters:</b></td>
      <td><br>
      </td>
    </tr>
    <tr nosave="" valign="top">
      <td nosave=""><a name="NUM_GID_ENTRIES"></a>&nbsp;&nbsp;&nbsp; <i><a
 href="ug_usage.html#Data%20Types%20for%20Object%20IDs">NUM_GID_ENTRIES</a></i></td>
      <td>The number of unsigned integers that should be used to
represent a
global identifier (ID). Values greater than zero are accepted.&nbsp;</td>
    </tr>
    <tr nosave="" valign="top">
      <td nosave=""><a name="NUM_LID_ENTRIES"></a>&nbsp;&nbsp;&nbsp; <i><a
 href="ug_usage.html#Data%20Types%20for%20Object%20IDs">NUM_LID_ENTRIES</a></i></td>
      <td>The number of unsigned integers that should be used to
represent a
local identifier (ID). Values greater than or equal to zero are
accepted.&nbsp;</td>
    </tr>
    <tr valign="top">
      <td valign="top">&nbsp;&nbsp;&nbsp;<i> <a
 href="#Debug%20Levels%20in%20Zoltan">DEBUG_LEVEL</a></i></td>
      <td>An integer indicating how much debugging information is
printed by
Zoltan.&nbsp; Higher values of<i> <a
 href="#Debug%20Levels%20in%20Zoltan">DEBUG_LEVEL</a></i>
produce more output and potentially slow down Zoltan's
computations.&nbsp;
The least output is produced when <i><a
 href="#Debug%20Levels%20in%20Zoltan">DEBUG_LEVEL</a></i>=
0.&nbsp; <i><a href="#Debug%20Levels%20in%20Zoltan">DEBUG_LEVEL</a></i>&nbsp;
primarily controls Zoltan's behavior; most algorithms have their own
parameters
to control their output level. Values used within Zoltan are listed <a
 href="#Debug%20Levels%20in%20Zoltan">below</a>.
      <br>
Note:&nbsp; Because some debugging levels use processor
synchronization,
all processors should use the same value of <i><a
 href="#Debug%20Levels%20in%20Zoltan">DEBUG_LEVEL</a></i>.</td>
    </tr>
    <tr nosave="" valign="top">
      <td nosave=""><a name="Debug_Processor"></a><i>&nbsp;&nbsp;&nbsp;
DEBUG_PROCESSOR</i></td>
      <td>Processor number from which trace output should be printed
when <i><a href="#Debug%20Levels%20in%20Zoltan">DEBUG_LEVEL</a></i>
is 5.</td>
    </tr>
    <tr nosave="" valign="top">
      <td nosave=""><a name="DEBUG_MEMORY"></a><i>&nbsp;&nbsp;&nbsp;
DEBUG_MEMORY</i></td>
      <td>Integer indicating the amount of low-level debugging
information about
memory-allocation should be kept by Zoltan's <a href="ug_util_mem.html">Memory
Management utilities</a>. Valid values are 0, 1, 2, and 3.</td>
    </tr>
    <tr nosave="" valign="top">
      <td><a name="OBJ_WEIGHT_DIM"></a><i>&nbsp;&nbsp;&nbsp;
OBJ_WEIGHT_DIM</i></td>
      <td nosave="">The number of weights (to be supplied by the user
in a query function) associated with an object. If this parameter
is zero, all objects have equal weight. Some algorithms may not support
multiple (multidimensional) weights.</td>
    </tr>
    <tr nosave="" valign="top">
      <td><a name="EDGE_WEIGHT_DIM"></a><i>&nbsp;&nbsp;&nbsp;
EDGE_WEIGHT_DIM</i></td>
      <td nosave="">The number of weights associated with an edge. If
this parameter
is zero, all edges have equal weight. Many algorithms do not support
multiple
(multidimensional) weights.</td>
    </tr>
    <tr valign="top">
      <td><a name="TIMER"></a><i>&nbsp;&nbsp;&nbsp; TIMER</i></td>
      <td>The timer with which you wish to measure time. Valid choices
are <i>wall
      </i>(based
on <i>MPI_Wtime)</i>,<i> cpu </i>(based on the ANSI C library
function
      <i>clock</i>)<i>, </i>and <i>user</i>.&nbsp; The resolution may
be poor,
as low as 1/60th of a second, depending upon your platform.</td>
    </tr>
    <tr valign="top">
      <td valign="top"><a name="Default_Parameter_Values"></a><b>Default
Values:</b></td>
      <td><br>
      </td>
    </tr>
    <tr valign="top">
      <td><br>
      </td>
      <td><i>NUM_GID_ENTRIES</i> = 1</td>
    </tr>
    <tr valign="top">
      <td><br>
      </td>
      <td><i>NUM_LID_ENTRIES</i> = 1</td>
    </tr>
    <tr valign="top">
      <td><br>
      </td>
      <td><i>DEBUG_LEVEL</i> = 1</td>
    </tr>
    <tr valign="top">
      <td><br>
      </td>
      <td><i>DEBUG_PROCESSOR</i> = 0</td>
    </tr>
    <tr valign="top">
      <td><br>
      </td>
      <td><i>DEBUG_MEMORY</i> = 1</td>
    </tr>
    <tr nosave="" valign="top">
      <td><br>
      </td>
      <td nosave=""><i>OBJ_WEIGHT_DIM = 0</i></td>
    </tr>
    <tr valign="top">
      <td><br>
      </td>
      <td><i>EDGE_WEIGHT_DIM = 0</i></td>
    </tr>
    <tr valign="top">
      <td><br>
      </td>
      <td><i>TIMER</i> = wall</td>
    </tr>
  </tbody>
</table>
<h3>
<a name="Debug Levels in Zoltan"></a>
<hr>Debugging Levels in Zoltan</h3>
The <i>DEBUG_LEVEL</i> parameter determines how much debugging
information
is printed to <i>stdout</i> by Zoltan.&nbsp; It is set by a call to <b><a
 href="ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>.&nbsp;
Higher values of<i> DEBUG_LEVEL</i> produce more output and can slow
down
Zoltan's computations, especially when the output is printed by one
processor
at a time.&nbsp; The least output is produced when <i>DEBUG_LEVEL</i>
=
0.
<p>Descriptions of the output produced by Zoltan for each value of <i>DEBUG_LEVEL
</i>are
included below.&nbsp; For a given <i>DEBUG_LEVEL</i> value<i> n,</i>
all
output for values less than or equal to<i> n</i> is produced.
</p>
<p>Some high debugging levels use processor synchronization to force
processors
to write one-at-a-time.&nbsp;&nbsp; For example, when <i>DEBUG_LEVEL</i>
is greater than or equal to eight, each processor writes its list in
turn
so that the lists from all processors are not jumbled together in the
output.&nbsp;
This synchronization requires all processors to use the same value of <i>DEBUG_LEVEL</i>.
<br>
&nbsp;
<table nosave="" width="100%">
  <tbody>
    <tr valign="top">
      <td valign="top"><b><i>DEBUG_LEVEL&nbsp;</i></b></td>
      <td><b>Output Produced</b></td>
    </tr>
    <tr nosave="" valign="top">
      <td nosave="">&nbsp;&nbsp;&nbsp; 0</td>
      <td>Quiet mode; no output unless an error or warning is produced.</td>
    </tr>
    <tr nosave="" valign="top">
      <td>&nbsp;&nbsp;&nbsp; 1</td>
      <td nosave="">Values of all parameters set by <b><a
 href="ug_interface_init.html#Zoltan_Set_Param">Zoltan_Set_Param</a></b>
and used by Zoltan.</td>
    </tr>
    <tr nosave="" valign="top">
      <td>&nbsp;&nbsp;&nbsp; 2</td>
      <td nosave="">Timing information for Zoltan's main routines.</td>
    </tr>
    <tr nosave="" valign="top">
      <td nosave="">&nbsp;&nbsp;&nbsp; 3</td>
      <td nosave="">Timing information within Zoltan's algorithms
(support by algorithms
is optional).</td>
    </tr>
    <tr nosave="" valign="top">
      <td nosave=""><i>&nbsp;&nbsp;</i>&nbsp; 4</td>
      <td><br>
      </td>
    </tr>
    <tr nosave="" valign="top">
      <td valign="top">&nbsp;&nbsp;&nbsp; 5</td>
      <td nosave="">Trace information (enter/exit) for major Zoltan
interface routines
(printed by the processor specified by the <i><a
 href="#Debug_Processor">DEBUG_PROCESSOR</a></i>
parameter).</td>
    </tr>
    <tr nosave="" valign="top">
      <td nosave="">&nbsp;&nbsp;&nbsp; 6</td>
      <td>Trace information (enter/exit) for major Zoltan interface
routines
(printed by all processors).</td>
    </tr>
    <tr nosave="" valign="top">
      <td nosave="">&nbsp;&nbsp;&nbsp; 7</td>
      <td>More detailed trace information in major Zoltan interface
routines.</td>
    </tr>
    <tr nosave="" valign="top">
      <td>&nbsp;&nbsp;&nbsp; 8</td>
      <td nosave="">List of objects to be imported to and exported from
each processor.
&sup1;</td>
    </tr>
    <tr valign="top">
      <td>&nbsp;&nbsp;&nbsp; 9</td>
      <td><br>
      </td>
    </tr>
    <tr valign="top">
      <td>&nbsp;&nbsp; 10</td>
      <td>Maximum debug output; may include algorithm-specific output.
&sup1;</td>
    </tr>
    <tr nosave="">
      <td colspan="2" nosave="">&sup1; <i>Output may be serialized;
that is, one
processor may have to complete its output before the next processor is
allowed to begin its output.&nbsp; This serialization is not scalable
and
can significantly increase execution time on large number of processors.</i></td>
      <td><br>
      </td>
    </tr>
  </tbody>
</table>
</p>
<p></p>
<hr width="100%">[<a href="ug.html">Table of Contents</a>&nbsp; | <a
 href="ug_alg.html">Next:&nbsp;
Load-Balancing Algorithms</a>&nbsp; |&nbsp; <a href="ug_query_mig.html">Previous:&nbsp;
Migration Query Functions</a>&nbsp; |&nbsp; <a href="https://www.sandia.gov/general/privacy-security/index.html">Privacy and Security</a>]
</body>
</html>
